package com.css.fxfzxczh.modules.fieldWorkManage.InvestigationGroupManage.repository;

import com.css.fxfzxczh.modules.fieldWorkManage.InvestigationGroupManage.entity.InvestigationPersonnel;
import com.css.fxfzxczh.modules.fieldWorkManage.InvestigationGroupManage.entity.InvestigationTeam;
import com.css.fxfzxczh.modules.fieldWorkManage.InvestigationGroupManage.params.InvestigationParam;
import com.css.fxfzxczh.modules.fieldWorkManage.InvestigationGroupManage.params.PageParam;
import com.css.fxfzxczh.modules.fieldWorkManage.InvestigationGroupManage.vo.PersonnelVO;

import java.util.List;
import java.util.Map;

public interface InvestigationGroupRepository {
    String getCode(String xsemId);

    void save(InvestigationTeam param);

    List<InvestigationTeam> getPersonnelList(String xsemId,String id);

    InvestigationTeam findById(String id);

    List<PersonnelVO> queryPersonnel(String xitId);

    List<PersonnelVO> querydriver(String xitId);

    void savePersonnel(InvestigationPersonnel investigationPersonnel);

    void deletePersonnel(String id);

    void batchSavePersonnel(List<InvestigationPersonnel> personnel);

    void deleteInvestigationGroup(String id);

    void deleteInvestigationGroupPersonnel(String id);

    Map<String, Object> getPage(PageParam queParams, int curPage, int pageSize);

    void update(InvestigationTeam param);

    void updateXsemId(String xsemId, String convertedXsemId);

    String getXsemCode(String xsemId);

    List<InvestigationTeam> findByLeaderId(String userId, String xsemId);

    List<InvestigationPersonnel> findByPersonnelId(String userId,String xsemId);

    String getMaxNum(String toString);

    List<InvestigationTeam> getInvGroupListByXsemId(String xsemId);

    List<String> getTeamMemberId(String xitId);
}
